using System;
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.Ccr.Core;
using Microsoft.Dss.Core.Attributes;
using Microsoft.Dss.ServiceModel.Dssp;
using Microsoft.Dss.ServiceModel.DsspServiceBase;
using W3C.Soap;

namespace HCC.Robotics.HCCVisionModule
{
    public sealed class Contract
    {
        [DataMember]
        public const string Identifier = "http://www.hccrobotica.nl/2011/09/hccvisionmodule.html";
    }

    #region Service StateMachine

    public enum Status
    {
        Calibrarting,
        Calibrated
    }

    #endregion

    #region WindowsForms Communication

    public class FromWinformEvents : Port<FromWinformMsg>
    {
    }

    public class FromWinformMsg
    {
        public enum MsgEnum
        {
            Loaded,
            DataCalibrated,
            Calibrating,
            Shutdown
        }

        public string[] Parameters { get; set; }
        public MsgEnum Command { get; set; }
        public object Object { get; set; }

        public FromWinformMsg(MsgEnum command, string[] parameters)
        {
            Command = command;
            Parameters = parameters;
        }

        public FromWinformMsg(MsgEnum command, string[] parameters, object oParam)
        {
            Command = command;
            Parameters = parameters;
            Object = oParam;
        }
    }

    #endregion
}


